Affinity API: affinity

The Affinity API retrieves a customer’s affinity scores for top brands, categories, and other product attributes. This API is useful for understanding customer preferences based on past purchases and interactions.

API Endpoint and Method

URL Format

Copy
https://{B2B_API_URL}/api/v1/profile/b2b/affinity

Example URL

Copy
https://api-dev.algonomy.com/rcdpapi/api/v1/profile/b2b/affinity

HTTP Method

POST

Request Header Parameters

Parameter

Type Required or Optional

Description

access_token

String

Required

Specifies the access token obtained from the create access token API.
tenant_hash

String

Required

Specifies the tenant hash shared with the tenant.
gcrId String Required Specifies the Golden Customer Record ID (GCR ID).
mobile_number String Required

Specifies customer's mobile number.

Example: "1212121212"

email_address String Required

Specifies customer's email address.

Example: "customer@example.com"

customer_code_external

String

Required

Specifies the external customer code.

Example: "123456"

    Notes:
  • You can send all the parameters (gcrId, mobile_number, and email_address) with the request or just one, as at least one parameter is required.

  • These parameters are supported based on the configuration. If your deployment is configured to use them as columns for deduplication, they will be available for use in the API call.

Request Body

Only required for pagination. You can include parameters such as pageSize to define the number of records returned per page.

Copy
{
“pageSize”:1
}

Response Body

A successful request returns a "200-OK" status code, accompanied by the retrieved data in the response.

Copy
{
  "status": "OK",
  "message": "",
  "data": {
    "customerId": 2056,
    "totalCount": 2,
    "currentPage": 1,
    "pageSize": 20,
    "totalPages": 1,
    "dataList": [
      {
        "chartTitle": "Top 2 sizes",
        "yAxisLabel": "Affinity score",
        "xAxisLabel": "Brands",
        "chartData": [
          {
            "label": "Venezuela",
            "value": 290
          },
          {
            "label": "Saudi",
            "value": 260
          }
        ]
      },
      {
        "chartTitle": "Top 3 categories",
        "yAxisLabel": "Affinity score",
        "xAxisLabel": "Categories",
        "chartData": [
          {
            "label": "Venezuela",
            "value": 290.2345
          },
          {
            "label": "Saudi",
            "value": 260.4456
          },
          {
            "label": "Canada",
            "value": 180
          }
        ]
      }
    ],
    "data": null
  }
}